Many information processing systems are configured to replicate data from a storage system at one site to a storage system at another site. In some cases, such arrangements are utilized to support disaster recovery functionality within the information processing system. For example, an enterprise may replicate data from a production data center to a disaster recovery data center. In the event of a disaster at the production site, applications can be started at the disaster recovery site using the data that has been replicated to that site so that the enterprise can continue its business.
Data replication in these and other contexts can be implemented using asynchronous replication at certain times and synchronous replication at other times. For example, asynchronous replication may be configured to periodically transfer data in multiple cycles from a source site to a target site, while synchronous replication may be configured to mirror host writes from the source site to the target site as the writes are made at the source site. Source site and target site storage systems can therefore each be configured to support both asynchronous and synchronous replication modes.
Conventional approaches to data replication can be problematic under certain conditions. For example, when implementing concurrent fan-out asynchronous replication between a source site storage system and multiple target site storage systems, it may be necessary for the source site storage system to maintain different sets of source data snapshots for each of the target site storage systems, or to wait for all of the target site storage systems to complete a given replication cycle before commencing the next replication cycle with any of the target site storage systems. These and other similar data replication arrangements are inefficient and can adversely impact system performance.